﻿using System;

namespace GestionaleLib
{
    public class ExceptionGenerico : ApplicationException
    {
        public ExceptionGenerico() : base("Errore generico") { }
    }
    public class ExceptionErroreInserimento : ApplicationException
    {
        public ExceptionErroreInserimento() : base("Errore dyurante l'inserimento") { }
    }
    public class ExceptionErroreModifica : ApplicationException
    {
        public ExceptionErroreModifica() : base("Errore dyurante la modifica") { }
    }
    public class ExceptionErroreCancellazione : ApplicationException
    {
        public ExceptionErroreCancellazione() : base("Errore durante la cancellazione") { }
    }
    public class ExceptionElementoGiaPresente : ApplicationException
    {
        public ExceptionElementoGiaPresente() : base("Elemento già presente nell'archivio") { }
    }
    public class ExceptionErroreConnessioneDatabase : ApplicationException
    {
        public ExceptionErroreConnessioneDatabase() : base("Errore durante la connessione al database") { }
    }
    public class ExceptionProdottoEsistenteInMagazzino : ApplicationException
    {
        public ExceptionProdottoEsistenteInMagazzino() : base("Prodotto esistente in magazzino") { }
    }
    public class ExceptionErroreDuranteCalcoloDisponibilitaMagazzino : ApplicationException
    {
        public ExceptionErroreDuranteCalcoloDisponibilitaMagazzino() : base("Errore durante il calcolo della disponibilità in magazzino") { }
    }
    public class ExceptionLaQuantitaSuperaLaGiacenzaMinimaSupportata : ApplicationException
    {
        public ExceptionLaQuantitaSuperaLaGiacenzaMinimaSupportata() : base("La quantità da scaricare supera la quantità minima supportata per il prodotto") { }
    }
    public class ExceptionLaQuantitaRichiestaAzzeraLaGiacenza : ApplicationException
    {
        public ExceptionLaQuantitaRichiestaAzzeraLaGiacenza() : base("La quantità da scaricare azzera la giacenza in magazzino") { }
    }
    public class ExceptionLaGiacenzaEPariAZero : ApplicationException
    {
        public ExceptionLaGiacenzaEPariAZero() : base("La giacenza del prodotto è pari a zero.") { }
    }
}